// 这段代码是ecosystem.config.js文件的内容，它是PM2（一个Node.js应用的进程管理器）的配置文件。
// 这个文件用于定义和配置你想要由PM2管理的应用。

// ecosystem.config.js
// 导出一个配置对象给PM2
module.exports = {
  // apps字段是一个数组，可以包含一个或多个应用的配置
  apps: [
    {
      // 应用的名称，这在PM2中用来标识你的应用
      name: "node-express-backend",

      // 启动脚本的路径，PM2将使用node来运行这个文件
      script: "index.js",

      // 实例数量，设置为'max'会根据可用的CPU核心数来启动最大数量的实例
      // 这有助于负载均衡和提高应用的可用性
      instances: "max",

      // 执行模式，设置为'cluster'开启PM2的集群模式
      // 集群模式允许应用在多个核心上并行运行，提高性能和可靠性
      exec_mode: "cluster",

      // 开发环境的配置
      env_development: {
        // 设置NODE_ENV环境变量，许多Node.js应用都会使用这个变量来确定当前是在开发环境还是生产环境
        NODE_ENV: "development",

        // 设置DOTENV_CONFIG_PATH环境变量，指定dotenv库加载环境变量的文件路径
        // 这样你就可以为不同的环境使用不同的配置文件
        // DOTENV_CONFIG_PATH: "./config/config.env.development",
      },

      // 生产环境的配置
      env_production: {
        // 设置NODE_ENV环境变量为'production'
        NODE_ENV: "production",

        // 设置DOTENV_CONFIG_PATH环境变量，指定生产环境的配置文件路径
        // DOTENV_CONFIG_PATH: "./config/config.env.production",
      },
    },
  ],
};
